# 请列出 functools 包内的每个函数的功能作用。

"""
1. **functools.partial(func, *args, keywords)
    - 功能： 返回一个新的可调用对象，该对象是对原函数 func 的部分参数和关键字参数进行固定的版本。
    - 用途： 可用于创建一个新的函数，将某些参数固定，以便在后续调用时不必重复输入。
2. functools.update_wrapper(wrapper, wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
    - 功能： 将包装器（wrapper）函数的属性复制到被包装的函数（wrapped）上，以保留原函数的文档字符串、模块名等信息。
    - 用途： 通常在定义装饰器时使用，以确保被装饰函数具有正确的属性。
3. functools.wraps(wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES)
    - 功能： 返回一个装饰器，用于包装函数并更新包装函数的属性，类似于 update_wrapper。
    - 用途： 用于自定义装饰器时，保留原函数的属性。
4. functools.lru_cache(maxsize=128, typed=False)
    - 功能： 实现一个带有最近最少使用（LRU）缓存的装饰器，用于缓存函数的结果。
    - 用途： 在函数计算代价较高，但结果可能被多次重复使用时，使用 LRU 缓存可以提高性能。
5. functools.total_ordering(cls)
    - 功能： 类装饰器，自动为类实现所有比较操作（__lt__, __le__, __eq__, __ne__, __gt__, __ge__）。
    - 用途： 简化定义自定义类时的比较操作。
6. functools.cmp_to_key(func)
    - 功能： 将旧的比较函数（使用 cmp 参数的函数）转换为新的关键字比较函数（使用 key 参数的函数）。
    - 用途： 在需要将旧的比较函数用于排序的情况下使用。
"""
